package com.beifu.manager.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AssetOutTruthExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AssetOutTruthExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeIsNull() {
            addCriterion("asset_info_rfid_code is null");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeIsNotNull() {
            addCriterion("asset_info_rfid_code is not null");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeEqualTo(String value) {
            addCriterion("asset_info_rfid_code =", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeNotEqualTo(String value) {
            addCriterion("asset_info_rfid_code <>", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeGreaterThan(String value) {
            addCriterion("asset_info_rfid_code >", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeGreaterThanOrEqualTo(String value) {
            addCriterion("asset_info_rfid_code >=", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeLessThan(String value) {
            addCriterion("asset_info_rfid_code <", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeLessThanOrEqualTo(String value) {
            addCriterion("asset_info_rfid_code <=", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeLike(String value) {
            addCriterion("asset_info_rfid_code like", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeNotLike(String value) {
            addCriterion("asset_info_rfid_code not like", value, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeIn(List<String> values) {
            addCriterion("asset_info_rfid_code in", values, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeNotIn(List<String> values) {
            addCriterion("asset_info_rfid_code not in", values, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeBetween(String value1, String value2) {
            addCriterion("asset_info_rfid_code between", value1, value2, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andAssetInfoRfidCodeNotBetween(String value1, String value2) {
            addCriterion("asset_info_rfid_code not between", value1, value2, "assetInfoRfidCode");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdIsNull() {
            addCriterion("operating_user_id is null");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdIsNotNull() {
            addCriterion("operating_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdEqualTo(Integer value) {
            addCriterion("operating_user_id =", value, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdNotEqualTo(Integer value) {
            addCriterion("operating_user_id <>", value, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdGreaterThan(Integer value) {
            addCriterion("operating_user_id >", value, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("operating_user_id >=", value, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdLessThan(Integer value) {
            addCriterion("operating_user_id <", value, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("operating_user_id <=", value, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdIn(List<Integer> values) {
            addCriterion("operating_user_id in", values, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdNotIn(List<Integer> values) {
            addCriterion("operating_user_id not in", values, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdBetween(Integer value1, Integer value2) {
            addCriterion("operating_user_id between", value1, value2, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("operating_user_id not between", value1, value2, "operatingUserId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdIsNull() {
            addCriterion("operating_device_id is null");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdIsNotNull() {
            addCriterion("operating_device_id is not null");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdEqualTo(String value) {
            addCriterion("operating_device_id =", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdNotEqualTo(String value) {
            addCriterion("operating_device_id <>", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdGreaterThan(String value) {
            addCriterion("operating_device_id >", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdGreaterThanOrEqualTo(String value) {
            addCriterion("operating_device_id >=", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdLessThan(String value) {
            addCriterion("operating_device_id <", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdLessThanOrEqualTo(String value) {
            addCriterion("operating_device_id <=", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdLike(String value) {
            addCriterion("operating_device_id like", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdNotLike(String value) {
            addCriterion("operating_device_id not like", value, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdIn(List<String> values) {
            addCriterion("operating_device_id in", values, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdNotIn(List<String> values) {
            addCriterion("operating_device_id not in", values, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdBetween(String value1, String value2) {
            addCriterion("operating_device_id between", value1, value2, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andOperatingDeviceIdNotBetween(String value1, String value2) {
            addCriterion("operating_device_id not between", value1, value2, "operatingDeviceId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdIsNull() {
            addCriterion("asset_out_id is null");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdIsNotNull() {
            addCriterion("asset_out_id is not null");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdEqualTo(Long value) {
            addCriterion("asset_out_id =", value, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdNotEqualTo(Long value) {
            addCriterion("asset_out_id <>", value, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdGreaterThan(Long value) {
            addCriterion("asset_out_id >", value, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdGreaterThanOrEqualTo(Long value) {
            addCriterion("asset_out_id >=", value, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdLessThan(Long value) {
            addCriterion("asset_out_id <", value, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdLessThanOrEqualTo(Long value) {
            addCriterion("asset_out_id <=", value, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdIn(List<Long> values) {
            addCriterion("asset_out_id in", values, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdNotIn(List<Long> values) {
            addCriterion("asset_out_id not in", values, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdBetween(Long value1, Long value2) {
            addCriterion("asset_out_id between", value1, value2, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andAssetOutIdNotBetween(Long value1, Long value2) {
            addCriterion("asset_out_id not between", value1, value2, "assetOutId");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeIsNull() {
            addCriterion("carriage_code is null");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeIsNotNull() {
            addCriterion("carriage_code is not null");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeEqualTo(String value) {
            addCriterion("carriage_code =", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeNotEqualTo(String value) {
            addCriterion("carriage_code <>", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeGreaterThan(String value) {
            addCriterion("carriage_code >", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeGreaterThanOrEqualTo(String value) {
            addCriterion("carriage_code >=", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeLessThan(String value) {
            addCriterion("carriage_code <", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeLessThanOrEqualTo(String value) {
            addCriterion("carriage_code <=", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeLike(String value) {
            addCriterion("carriage_code like", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeNotLike(String value) {
            addCriterion("carriage_code not like", value, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeIn(List<String> values) {
            addCriterion("carriage_code in", values, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeNotIn(List<String> values) {
            addCriterion("carriage_code not in", values, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeBetween(String value1, String value2) {
            addCriterion("carriage_code between", value1, value2, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andCarriageCodeNotBetween(String value1, String value2) {
            addCriterion("carriage_code not between", value1, value2, "carriageCode");
            return (Criteria) this;
        }

        public Criteria andInputTimeIsNull() {
            addCriterion("input_time is null");
            return (Criteria) this;
        }

        public Criteria andInputTimeIsNotNull() {
            addCriterion("input_time is not null");
            return (Criteria) this;
        }

        public Criteria andInputTimeEqualTo(Date value) {
            addCriterion("input_time =", value, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeNotEqualTo(Date value) {
            addCriterion("input_time <>", value, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeGreaterThan(Date value) {
            addCriterion("input_time >", value, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("input_time >=", value, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeLessThan(Date value) {
            addCriterion("input_time <", value, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeLessThanOrEqualTo(Date value) {
            addCriterion("input_time <=", value, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeIn(List<Date> values) {
            addCriterion("input_time in", values, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeNotIn(List<Date> values) {
            addCriterion("input_time not in", values, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeBetween(Date value1, Date value2) {
            addCriterion("input_time between", value1, value2, "inputTime");
            return (Criteria) this;
        }

        public Criteria andInputTimeNotBetween(Date value1, Date value2) {
            addCriterion("input_time not between", value1, value2, "inputTime");
            return (Criteria) this;
        }

        public Criteria andScanStatusIsNull() {
            addCriterion("scan_status is null");
            return (Criteria) this;
        }

        public Criteria andScanStatusIsNotNull() {
            addCriterion("scan_status is not null");
            return (Criteria) this;
        }

        public Criteria andScanStatusEqualTo(String value) {
            addCriterion("scan_status =", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusNotEqualTo(String value) {
            addCriterion("scan_status <>", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusGreaterThan(String value) {
            addCriterion("scan_status >", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusGreaterThanOrEqualTo(String value) {
            addCriterion("scan_status >=", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusLessThan(String value) {
            addCriterion("scan_status <", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusLessThanOrEqualTo(String value) {
            addCriterion("scan_status <=", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusLike(String value) {
            addCriterion("scan_status like", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusNotLike(String value) {
            addCriterion("scan_status not like", value, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusIn(List<String> values) {
            addCriterion("scan_status in", values, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusNotIn(List<String> values) {
            addCriterion("scan_status not in", values, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusBetween(String value1, String value2) {
            addCriterion("scan_status between", value1, value2, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andScanStatusNotBetween(String value1, String value2) {
            addCriterion("scan_status not between", value1, value2, "scanStatus");
            return (Criteria) this;
        }

        public Criteria andFirstScanIsNull() {
            addCriterion("first_scan is null");
            return (Criteria) this;
        }

        public Criteria andFirstScanIsNotNull() {
            addCriterion("first_scan is not null");
            return (Criteria) this;
        }

        public Criteria andFirstScanEqualTo(String value) {
            addCriterion("first_scan =", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanNotEqualTo(String value) {
            addCriterion("first_scan <>", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanGreaterThan(String value) {
            addCriterion("first_scan >", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanGreaterThanOrEqualTo(String value) {
            addCriterion("first_scan >=", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanLessThan(String value) {
            addCriterion("first_scan <", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanLessThanOrEqualTo(String value) {
            addCriterion("first_scan <=", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanLike(String value) {
            addCriterion("first_scan like", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanNotLike(String value) {
            addCriterion("first_scan not like", value, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanIn(List<String> values) {
            addCriterion("first_scan in", values, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanNotIn(List<String> values) {
            addCriterion("first_scan not in", values, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanBetween(String value1, String value2) {
            addCriterion("first_scan between", value1, value2, "firstScan");
            return (Criteria) this;
        }

        public Criteria andFirstScanNotBetween(String value1, String value2) {
            addCriterion("first_scan not between", value1, value2, "firstScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanIsNull() {
            addCriterion("second_scan is null");
            return (Criteria) this;
        }

        public Criteria andSecondScanIsNotNull() {
            addCriterion("second_scan is not null");
            return (Criteria) this;
        }

        public Criteria andSecondScanEqualTo(String value) {
            addCriterion("second_scan =", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanNotEqualTo(String value) {
            addCriterion("second_scan <>", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanGreaterThan(String value) {
            addCriterion("second_scan >", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanGreaterThanOrEqualTo(String value) {
            addCriterion("second_scan >=", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanLessThan(String value) {
            addCriterion("second_scan <", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanLessThanOrEqualTo(String value) {
            addCriterion("second_scan <=", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanLike(String value) {
            addCriterion("second_scan like", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanNotLike(String value) {
            addCriterion("second_scan not like", value, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanIn(List<String> values) {
            addCriterion("second_scan in", values, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanNotIn(List<String> values) {
            addCriterion("second_scan not in", values, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanBetween(String value1, String value2) {
            addCriterion("second_scan between", value1, value2, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondScanNotBetween(String value1, String value2) {
            addCriterion("second_scan not between", value1, value2, "secondScan");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdIsNull() {
            addCriterion("second_operation_id is null");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdIsNotNull() {
            addCriterion("second_operation_id is not null");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdEqualTo(Integer value) {
            addCriterion("second_operation_id =", value, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdNotEqualTo(Integer value) {
            addCriterion("second_operation_id <>", value, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdGreaterThan(Integer value) {
            addCriterion("second_operation_id >", value, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("second_operation_id >=", value, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdLessThan(Integer value) {
            addCriterion("second_operation_id <", value, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdLessThanOrEqualTo(Integer value) {
            addCriterion("second_operation_id <=", value, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdIn(List<Integer> values) {
            addCriterion("second_operation_id in", values, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdNotIn(List<Integer> values) {
            addCriterion("second_operation_id not in", values, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdBetween(Integer value1, Integer value2) {
            addCriterion("second_operation_id between", value1, value2, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondOperationIdNotBetween(Integer value1, Integer value2) {
            addCriterion("second_operation_id not between", value1, value2, "secondOperationId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdIsNull() {
            addCriterion("second_device_id is null");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdIsNotNull() {
            addCriterion("second_device_id is not null");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdEqualTo(String value) {
            addCriterion("second_device_id =", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdNotEqualTo(String value) {
            addCriterion("second_device_id <>", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdGreaterThan(String value) {
            addCriterion("second_device_id >", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdGreaterThanOrEqualTo(String value) {
            addCriterion("second_device_id >=", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdLessThan(String value) {
            addCriterion("second_device_id <", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdLessThanOrEqualTo(String value) {
            addCriterion("second_device_id <=", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdLike(String value) {
            addCriterion("second_device_id like", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdNotLike(String value) {
            addCriterion("second_device_id not like", value, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdIn(List<String> values) {
            addCriterion("second_device_id in", values, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdNotIn(List<String> values) {
            addCriterion("second_device_id not in", values, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdBetween(String value1, String value2) {
            addCriterion("second_device_id between", value1, value2, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondDeviceIdNotBetween(String value1, String value2) {
            addCriterion("second_device_id not between", value1, value2, "secondDeviceId");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeIsNull() {
            addCriterion("second_input_time is null");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeIsNotNull() {
            addCriterion("second_input_time is not null");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeEqualTo(Date value) {
            addCriterion("second_input_time =", value, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeNotEqualTo(Date value) {
            addCriterion("second_input_time <>", value, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeGreaterThan(Date value) {
            addCriterion("second_input_time >", value, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("second_input_time >=", value, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeLessThan(Date value) {
            addCriterion("second_input_time <", value, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeLessThanOrEqualTo(Date value) {
            addCriterion("second_input_time <=", value, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeIn(List<Date> values) {
            addCriterion("second_input_time in", values, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeNotIn(List<Date> values) {
            addCriterion("second_input_time not in", values, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeBetween(Date value1, Date value2) {
            addCriterion("second_input_time between", value1, value2, "secondInputTime");
            return (Criteria) this;
        }

        public Criteria andSecondInputTimeNotBetween(Date value1, Date value2) {
            addCriterion("second_input_time not between", value1, value2, "secondInputTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}